1. Field of the Invention
The present invention relates to a radio communication apparatus for receiving and transmitting variable-length RLC PDU data in an RLC layer belonging to Layer 2 forming a radio communication protocol layer, and more particularly a radio communication apparatus for correctly assembling an RLC SDU from the retransmitted RLC PDU data.
2. Description of the Related Art
A W-CDMA system becomes widely used today as a third generation (3G) radio communication system. Further, a standard called HSDPA (High-Speed Downlink Packet Access) comes into practical use to obtain high-speed (14 Mbps maximum) data communication in W-CDMA. HSDPA is also called as 3.5G system because of an improved version of the 3G system. The standardization is carried out by 3GPP (the 3rd Generation Partnership Project), an association for standardizing the 3G system.
HSDPA has the features of (1) shared use of one physical channel by a plurality of mobile terminals (UE) in time division, (2) automatic selection of higher speed modulation system and coding system depending on an electric wave condition, (3) adopting hybrid ARQ in which retransmission control (ARQ) is combined with correction coding processing, and so on.
FIG. 1 shows a diagram illustrating a data structure of Layer 2 in the protocol architecture corresponding to HSDPA. Layer 2 is divided into sublayers including MAC (Medium Access Control)-hs, MAC-d, and RLC (Radio Link Control).
FIG. 2 shows a diagram illustrating the format of RLC PDU (Protocol Data Unit). RLC PDU shown in FIG. 2 is an Acknowledge Mode RLC PDU (which is referred to as RLC AMD PDU in some cases, and the RLC PDU used in the following is RLC AMD PDU. AMD: Acknowledge Mode Data) enabling data delivery confirmation control and data retransmission control. RLC PDU includes D/C bit for distinguishing between a user data and a control data; sequence number (SN) indicating the sequential order of RLC-PDU; polling bit P indicating the presence/non-presence of a delivery confirmation request; area HE (Header Extension Type) indicating user data extension information; length indicator LI; E bit; data storage area Data; and padding bit PAD or piggyback (Piggybacked STATUS PDU).
The data size of RLC PDU is fixed to, for example, 42 octets, 82 octets or 122 octets (where 1 octet is 8 bits), which is not changed during communication. RLC PDU is identified by the sequence number SN, which has a numeric value ranging from, for example, 0 to 4,095 maximum.
In RLC shown in FIG. 1, on the transmission side of RLC, a transmission data RLC SDU (Service Data Unit) fed from an upper layer is divided into a plurality of RLC PDUs, and forwarded to the lower MAC-d layer, after a sequence number SN is given to identify each RLC PDU.
On the reception side of RLC, when the RLC PDUs are received from the lower MAC-d layer, by being sorted in order of the sequence number SN, the above RLC PDUs are combined to assemble an RLC SDU, and then transferred to the upper layer. At this time, when there is a missing sequence number SN, a retransmission request for an RLC PDU corresponding to the missing SN is initiated.
Therefore, the transmission side of RLC is required to retain the transmitted RLC PDU in a buffer (memory) until the notification of delivery confirmation is received from the reception side of RLC. Further, on the reception side of RLC, there is provided a buffer (memory) for storing RLC PDUs by the amount necessary to assemble an RLC SDU, and when the entire RLC PDUs necessary to assemble the RLC SDU are completed, the RLC SDU is assembled.
Further, on the transmission side of RLC, the delivery confirmation control is performed by setting to “1” the polling bit P included in the RLC PDU. On the reception side of RLC, when the RLC PDU having the polling bit P set to “1” is received, it is confirmed whether there is any omission in the sequence numbers SN of the RLC PDUs having been received so far, and if there is no omission, a response is given using STATUS PDU (ACK). If there is any omission, a response of the omission information is given using a STATUS PDU (NACK). On the transmission side, a timer is provided to avoid a multiplicity of occurrence of the STATUS PDU responses after the STATUS PDU response is given, and when the omission information is notified by NACK, the timer is started therefrom, and the subsequent STATUS PDU response is not generated before the timeout of the timer.
On the transmission side, the timer is started after requesting for delivery confirmation, and when the STATUS PDU response is not received before the timeout of the timer, it is decided to be caused by data loss in the radio bandwidth, and the RLC PDU having the polling bit P set to “1” is transmitted again. When the STATUS PDU (ACK) is received, it is recognized that the RLC PDUs so far are normally received, while when a retransmission request by the STATUS PDU (NACK) is received, the RLC PDU requested for retransmission is retransmitted.
In Japanese laid-open Patent Publication No. 2006-20044, there is disclosed a memory management method in the MAC-hs sublayer, enabling reduction of the increase of the memory amount without need of a complicated memory control method, by dividing a variable-length MAC-hs PDU into each unit of RLC PDU and storing into a shared memory (buffer) together with a sequence number.
After the realization of the above-mentioned 3.5G mobile communication systems by HSDPA, subsequently, migration to the fourth generation (4G) systems will be expected in early stages so as to realize higher speed and larger capacity. However, in the present estimation, one more stage called as “3.9G”(which may also be called as “Super 3G”) will be introduced before migration to 4G systems. As the communication speed of the 3.9G systems, a maximum speed of 100 Mbps, or of that order, is assumed. At present, as the 3.9G specification, a study is in progress in 3GPP to modify RLC PDU of fixed length as shown in FIGS. 1 and 2 to have variable length.
FIG. 3 is a diagram illustrating an assumed configuration of the RLC sublayer when the RLC PDU is modified to have variable length. As shown in FIG. 3, when the RLC PDU is modified to have variable length, the sequence number SN is used as a number to identify an RLC SDU. To identify an RLC PDU constituting each RLC SDU, assumedly, an SI (Segment Indicator) will be introduced. In case of the fixed-length RLC PDU, the number of RLC PDUs constituting a fixed-length RLC SDU is uniquely determined. Accordingly, the RLC SDU can be identified when the RLC PDU is identified. However, when the RLC PDU is modified to have variable length, the number of RLC PDUs constituting each RLC SDU is not uniquely determined, which necessitates introduction of any symbol to identify the RLC SDU further. Thus, the sequence number SN conventionally used to identify each RLC PDU is used as a symbol to identify RLC SDU, and the segment indicator SI is newly introduced as a symbol to identify the RLC PDU. LSI (Last Segment Indicator) is provided for indicating a last segment at the time of division.
FIG. 4 shows an exemplary format when the RLC PDU is modified to have variable length. As described above, when the RLC PDU is modified to have variable length, the sequence number SN becomes the number to identify the RLC SDU, and the RLC PDU is to be identified by the combination of the above sequence number SN and the segment indicator SI belonging thereto.
In the retransmission control when the RLC PDU is modified to have variable length, the following problem occurs. In order to make it possible to modify a data division size of the RLC PDU retransmission-by-retransmission affected by channel quality, etc., a case is assumed that the retransmission unit on the transmission side is modified from the basis of an RLC PDU unit to the basis of an RLC SDU unit. In such the case, on the reception side, at the time point when at least one omission is recognized among the plurality of RLC PDUs divided from a certain RLC SDU, a STATUS-PDU (NACK) response is made, thereby requesting the transmission side for retransmission, and the information of the received RLC PDUs of the RLC SDU having been recognized as omission is cleared, so as to prepare for the above RLC PDU of the RLC SDU to be retransmitted.
However, consider a case that the RLC SDU for retransmission is divided into a plurality of RLC PDUs, and the omission of a portion of the RLC PDUs is recognized before receiving the entire RLC PDUs corresponding to the RLC SDU concerned. Nevertheless, the RLC PDU having been recognized as omission may be received with delay, due to a reception delay, etc., after the response by the STATUS-PDU (NACK). In the above case, the RLC PDU of the RLC SDU newly requested for retransmission is also received thereafter.
In such the case, on the reception side, it is not possible to decide whether the received RLC PDU is the data transmitted first or the retransmitted data in response to the retransmission request. Since the reception side cannot distinguish either the new or old data, there is a case that the divided RLC PDUs are mixed combined by mistake.
FIG. 5 shows a diagram illustrating an example in which an RLC PDU transmitted first is mixed existent with a retransmitted RLC PDU. The variable-length RLC PDUs are transmitted in the format shown in FIG. 4, and the received RLC PDUs are successively stored in a buffer memory on the reception side.
At (1) shown in FIG. 5, the omission of a RLC PDU having SN=0, SI=1 occurs, and at (2), because of the P bit attached to the RLC PDU of SN=0, SI=3, it comes to the timing for generating a STATUS-PDU. Accordingly, a NACK with the omission information of SN=0 (there is an omission in the RLC PDUs having SN=0) attached thereto is transmitted to the transmission side. At this time, information of SN=0, SI=0, 2, 3 having been received is once cleared (deleted from the buffer), so as to prepare for accepting retransmission data. Thereafter, on the reception side, an RLC PDUs of SN=0, SI=4 and 5 are received and retained in the buffer. At this time, because LSI=1 is set in the RLC PDU of SN=0, SI=5, the reception side recognizes that the RLC SDU of SN=0 is divided into six RLC PDUs.
On the transmission side, the STATUS-PDU (NACK) is received at (3), and the retransmission of the RLC SDU having SN=0 is performed accordingly. At this time, on the transmission side, the retransmission is performed after modifying the number of divisions of the RLC SDU from 6 to 7. The number of divisions is varied in real time, depending on the condition and the quality of the channel.
On the reception side, at (4), when SN=0, SI=0, 1, 2 and 3 are received, it is decided that the PDUs divided into six (6) have entirely been received, thus the RLC PDUs are combined to generate an RLC SDU.
However, actually, the RLC SDU is generated by combining PDUs of SI=4 and 5 before the retransmission, being divided into six, with the RLC PDUs of SI=0, 1, 2 and 3 after the retransmission, being divided into seven. Accordingly, there arises a problem that the RLC SDU of SN=0 cannot be generated correctly. Moreover, the RLC PDUs retransmitted at (5), (6) and (7) are recognized as if the data of which reception is completed are received again, and therefore the above RLC PDUs are discarded. Thus, the RLC SDU cannot be assembled from the retransmitted RLC PDUs.
Further, at (8), before the transmission of the entire RLC PDUs of SN=0 is completed, a STATUS PDU (ACK) is received from the reception side, which brings recognition that the entire RLC PDUs divided from the RLC SDU of SN=0 have been received, thus producing a contradiction.